CREATE OR REPLACE PACKAGE "kesplus_platform"."array_utils" AUTHID CURRENT_USER AS
    /**
     * @Description 计算数组内容的平均值
     * @Param a 数组
     * @Return NUMERIC
     */
    FUNCTION array_avg(a BIGINT[]) RETURNS NUMERIC;
    FUNCTION array_avg(a INTEGER[]) RETURNS NUMERIC;
    FUNCTION array_avg(a SMALLINT[]) RETURNS NUMERIC;
    FUNCTION array_avg(a REAL[]) RETURNS NUMERIC;
    FUNCTION array_avg(a DOUBLE PRECISION[]) RETURNS NUMERIC;
    FUNCTION array_avg(a NUMERIC[]) RETURNS NUMERIC;
    /**
     * @Description 计算数组内容的最大值
     * @Param a 数组
     * @Return BIGINT
     */
    FUNCTION array_max(a BIGINT[]) RETURNS BIGINT;
    FUNCTION array_max(a INTEGER[]) RETURNS BIGINT;
    FUNCTION array_max(a SMALLINT[]) RETURNS BIGINT;
    FUNCTION array_max(a TEXT[]) RETURNS TEXT;
    FUNCTION array_max(a REAL[]) RETURNS NUMERIC;
    FUNCTION array_max(a DOUBLE PRECISION[]) RETURNS NUMERIC;
    FUNCTION array_max(a NUMERIC[]) RETURNS NUMERIC;
    /**
     * @Description 计算数组内容的最小值
     * @Param a 数组
     * @Return BIGINT
     */
    FUNCTION array_min(a BIGINT[]) RETURNS BIGINT;
    FUNCTION array_min(a INTEGER[]) RETURNS INTEGER;
    FUNCTION array_min(a SMALLINT[]) RETURNS SMALLINT;
    FUNCTION array_min(a TEXT[]) RETURNS TEXT;
    FUNCTION array_min(a REAL[]) RETURNS NUMERIC;
    FUNCTION array_min(a DOUBLE PRECISION[]) RETURNS NUMERIC;
    FUNCTION array_min(a NUMERIC[]) RETURNS NUMERIC;
    /**
     * @Description 计算数组内容的总和
     * @Param a 数组
     * @Return BIGINT
     */
    FUNCTION array_sum(a BIGINT[]) RETURNS BIGINT;
    FUNCTION array_sum(a INTEGER[]) RETURNS BIGINT;
    FUNCTION array_sum(a SMALLINT[]) RETURNS BIGINT;
    FUNCTION array_sum(a REAL[]) RETURNS NUMERIC;
    FUNCTION array_sum(a DOUBLE PRECISION[]) RETURNS NUMERIC;
    FUNCTION array_sum(a NUMERIC[]) RETURNS NUMERIC;
    /**
     * @Description 移除数组内空项 包含null 或 ''
     * @Param a 数组
     * @Param rd 是否删除空项 true:删除空项数组长度减小,false:长度不变
     * @Return text[]
     */
    FUNCTION array_trim(a text[], rd BOOLEAN DEFAULT FALSE) RETURNS text[];
END;

CREATE OR REPLACE PACKAGE BODY "kesplus_platform"."array_utils" AS WRAPPED
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
/Un3+j3WgFwhHTkmuCjy
END;

